## OOP 的继承
class Animal:
    ## 类的构造方法
    def __init__(self,name):
        self.name = name
    ## 类的定义方法
    def speak(self):
        print(f"{self.name} 会说法！！")

## Dog类继承 Animal 类
class Dog(Animal):
    def __init__(self,name,breed):
        super().__init__(name)   ## 调用 父类的构造方法
        self.breed = breed
    ## 重写父类的方法
    def speak(self):
        print(f"{self.name} 是 {self.breed} 它的叫声是 汪汪汪")

## Cat 类继承 Animal
class Cat(Animal):
    ## 没有声明构造方法
    ## 重写父类方法
    def speak(self):
        print(f"{self.name} 喵喵")

## 创建对象
dog = Dog("dog","金毛")
cat = Cat("cat")

## 调用子类方法
dog.speak()
cat.speak()

